/** 常量 */
export var NODE_WIDTH = 30; // 节点宽度
export var NODE_HEIGHT = 30; // 节点高度
export var MIN_ZOOM = 0.1;
export var MAX_ZOOM = 3.0;
export var ZOOM_STEP = 0.1;

// 布局相关常量
export var RANK_SEP = 20;
export var NODE_SEP = 20;
export var NODE_TYPE_START = 'LITEFLOW_START';
export var NODE_TYPE_END = 'LITEFLOW_END';
export var NODE_TYPE_INTERMEDIATE_END = 'LITEFLOW_INTERMEDIATE_END';
export var LITEFLOW_EDGE = 'LITEFLOW_EDGE';
export var LITEFLOW_ANCHOR = 'LITEFLOW_ANCHOR';
export var LITEFLOW_ROUTER = 'LITEFLOW_ROUTER';
export var LINE_COLOR = '#c1c1c1';

/** 逻辑组件类型 */
export var NodeTypeEnum = /*#__PURE__*/function (NodeTypeEnum) {
  NodeTypeEnum["COMMON"] = "NodeComponent";
  NodeTypeEnum["BOOLEAN"] = "NodeBooleanComponent";
  NodeTypeEnum["SWITCH"] = "NodeSwitchComponent";
  NodeTypeEnum["IF"] = "NodeIfComponent";
  NodeTypeEnum["FOR"] = "NodeForComponent";
  NodeTypeEnum["WHILE"] = "NodeWhileComponent";
  NodeTypeEnum["BREAK"] = "NodeBreakComponent";
  NodeTypeEnum["ITERATOR"] = "NodeIteratorComponent";
  NodeTypeEnum["SCRIPT"] = "ScriptCommonComponent";
  NodeTypeEnum["BOOLEAN_SCRIPT"] = "ScriptBooleanComponent";
  NodeTypeEnum["SWITCH_SCRIPT"] = "ScriptSwitchComponent";
  NodeTypeEnum["IF_SCRIPT"] = "ScriptIfComponent";
  NodeTypeEnum["FOR_SCRIPT"] = "ScriptForComponent";
  NodeTypeEnum["WHILE_SCRIPT"] = "ScriptWhileComponent";
  NodeTypeEnum["BREAK_SCRIPT"] = "ScriptBreakComponent";
  NodeTypeEnum["FALLBACK"] = "fallback";
  NodeTypeEnum["VIRTUAL"] = "NodeVirtualComponent";
  return NodeTypeEnum;
}({}); // virtual, 虚节点

/** 逻辑编排类型 */
export var ConditionTypeEnum = /*#__PURE__*/function (ConditionTypeEnum) {
  ConditionTypeEnum["CHAIN"] = "CHAIN";
  ConditionTypeEnum["THEN"] = "THEN";
  ConditionTypeEnum["SER"] = "SER";
  ConditionTypeEnum["WHEN"] = "WHEN";
  ConditionTypeEnum["PAR"] = "PAR";
  ConditionTypeEnum["SWITCH"] = "SWITCH";
  ConditionTypeEnum["IF"] = "IF";
  ConditionTypeEnum["PRE"] = "PRE";
  ConditionTypeEnum["FINALLY"] = "FINALLY";
  ConditionTypeEnum["FOR"] = "FOR";
  ConditionTypeEnum["WHILE"] = "WHILE";
  ConditionTypeEnum["ITERATOR"] = "ITERATOR";
  ConditionTypeEnum["BREAK"] = "BREAK";
  ConditionTypeEnum["CATCH"] = "CATCH";
  ConditionTypeEnum["AND"] = "AND";
  ConditionTypeEnum["OR"] = "OR";
  ConditionTypeEnum["NOT"] = "NOT";
  ConditionTypeEnum["ABSTRACT"] = "ABSTRACT";
  ConditionTypeEnum["DEFAULT"] = "DEFAULT";
  return ConditionTypeEnum;
}({}); // default